//
// Created by admin on 2021/2/17.
//

#ifndef ANDROIDGRAPHICSDEMOS_INSTANCEDITEMPASS_H
#define ANDROIDGRAPHICSDEMOS_INSTANCEDITEMPASS_H

#include "Pass.h"

template<GraphicsAPI API> class InstancedItemPass;
template<GraphicsAPI API> class RWBuffer;

template<> class InstancedItemPass<GraphicsAPI::GLESv3> : public GLESPass
{
public:
    InstancedItemPass();
    virtual ~InstancedItemPass() = default;
    virtual void Draw();

protected:
    virtual void InitShaderUniformLocation();

    GLint CameraVPMatrix_location;
    std::shared_ptr<RWBuffer<GraphicsAPI::GLESv3>> rwBuffer;
};


#endif //ANDROIDGRAPHICSDEMOS_INSTANCEDITEMPASS_H
